import java.lang.reflect.Field;

public class Shili8 {
    public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchFieldException {
        Class clz = Class.forName("Person");
        Object person = clz.newInstance();

        // 获取privates String name 属性
        Field name = clz.getDeclaredField("name");
        // name属性为private,这里已超出其访问范围,不能直接访问
        // 通过setAccessable方法,设定为可以访问
        name.setAccessible(true);
        // 先取值看看
        System.out.println("赋值前的name: " + name.get(person));
        // 为name属性赋值
        name.set(person, "New Person");
        // 展示赋值效果
        System.out.println("赋值后的name: " + name.get(person));
    }
}
